package com.todo.member.infrastructure.repository;


import com.todo.member.infrastructure.entity.domain.MemberInfoDO;
import com.todo.member.infrastructure.entity.po.MemberInfoPO;

/**
 * @author azhebuxing
 * @date 2025/2/10 11:18
 * @description
 */
public interface MemberInfoRepository {
    /**
     * 创建用户会员信息
     *
     * @param userId
     * @return
     */
    Boolean insertMemberInfo(Long userId);

    /**
     * 根据用户Id查询用户会员详情
     *
     * @param userId
     * @return
     */
    MemberInfoDO queryMemberInfoByUserId(Long userId);

    /**
     * 根据用户Id删除用户会员详情
     *
     * @param userId
     * @return
     */
    Boolean removeMemberInfoByUserId(Long userId);

    /**
     * 修改会员信息-后台应该没有修改会员信息的需求
     *
     * @param memberInfoPO
     * @return
     */
    Boolean updateMemberInfo(MemberInfoPO memberInfoPO);

    /**
     * 根据id查询会员信息
     *
     * @param id
     * @return
     */
    MemberInfoPO queryMemberInfoPOById(Long id);

}
